How to Use X Forwarding to Run GUI Apps via SSH 您所在的位置:网站首页 using cygwin x windows How to Use X Forwarding to Run GUI Apps via SSH

How to Use X Forwarding to Run GUI Apps via SSH

2023-03-12 03:54| 来源: 网络整理| 查看: 265

If you know how to use SSH, you’ve probably employed it for connecting to the command prompt on a remote machine. But did you know that, using a process known as X forwarding, SSH can open remote GUI applications on your desktop? 

Sometimes we need to run a GUI application on a remote machine. We could use VNC, which would send the entire desktop over a network connection. Or we could just forward the application using X forwarding which reroutes the display from the remote machine, over SSH to an X server on our machine. This brings the remote application to our working desktop, instead of it being trapped inside a VNC window.

Here’s how to use X forwarding via SSH.

How to use X Forwarding in Windows

1. Download Cygwin to your Windows machine. Cygwin is a collection of Open Source tools which provide similar functionality to Linux distros.

2. Install Cygwin and click Next to navigate through the installation process.

X Forwarding

(Image credit: Tom's Hardware)

3. Choose to install from the Internet and click Next.

Cygwin install process

(Image credit: Future)

4. Install Cygwin for all users and then click Next.

X Forwarding

(Image credit: Tom's Hardware)

5. Select a location to store downloaded packages and click Next.

X Forwarding

(Image credit: Tom's Hardware)

6. Select the Internet connection settings that match your setup. System Proxy or Direct Connection are the most likely.

X Forwarding

(Image credit: Tom's Hardware)

7. Select a mirror for your download then click Next. Some mirrors are faster than others, but there is no way to know that here. We chose the top most https mirror.

X Forwarding

(Image credit: Tom's Hardware)

8. Wait for the downloads to finish, then click Next.

X Forwarding

(Image credit: Tom's Hardware)

9. Select X11 from the list, then click on the dropdown menu and select Install. Finally click Next. This will download all of the X11 tools, including those necessary for X forwarding.

X Forwarding

(Image credit: Tom's Hardware)

10. Confirm the list of tools to install and click Next to start the installation.

X Forwarding

(Image credit: Tom's Hardware)

11. The install process will take some time, when done click Next to move onwards.

X Forwarding

(Image credit: Tom's Hardware)

12. Create an icon and Start Menu entry, then click Finish to close the installation script.

X Forwarding

(Image credit: Tom's Hardware)

13. Open the Settings menu and search for Firewall. We need to open a port for the connection from our remote device to the X server running on Windows.

X Forwarding

(Image credit: Tom's Hardware)

14. Click on “Allow an app through the firewall.”

X Forwarding

(Image credit: Tom's Hardware)

15. Click on Change Settings and scroll down to Xming X Server and set it to allow over a Private network. Click OK to save.

X Forwarding

(Image credit: Tom's Hardware)

16. From the Start Menu, open XLaunch.

X Forwarding

(Image credit: Tom's Hardware)

17. Select Multiple Windows and click Next. This means that every application opened via SSH will have its own window.

X Forwarding

(Image credit: Tom's Hardware)

18. Click on Start no client and click Next. This will just start the X Server, nothing else.

X Forwarding

(Image credit: Tom's Hardware)

19. Ensure that Clipboard and Native OpenGL are ticked. Then click Next.

X Forwarding

(Image credit: Tom's Hardware)

20. Click on Finish to start the X Server. You can save the configuration if you wish, but it is not essential.

X Forwarding

(Image credit: Tom's Hardware)

The X Server is now running and in the System Tray.

X Forwarding

(Image credit: Tom's Hardware)

21. Open PuTTY and enter the username and hostname / IP address of the remote device, in this case a Raspberry Pi.

X Forwarding

(Image credit: Tom's Hardware)

22. From the Category menu, click on SSH, and then X11.

X Forwarding

(Image credit: Tom's Hardware)

23. Tick “Enable X11 Forwarding” and then click Open to start the SSH connection.

X Forwarding

(Image credit: Tom's Hardware)

24. Enter your password and press Enter. Note that this will not echo your keystrokes, this is a security feature.

25. From the SSH session, run a command for a GUI application. In our example we launched Geany, a lightweight text editor. The app will take a few moments to open, but once ready we can work on files and directories as if we were sitting at the remote machine.

X Forwarding

(Image credit: Tom's Hardware)How to Use X Forwarding in Linux

Linux users have a much easier time with X forwarding, as they already have some form of X server installed on their machine.

1. Open a terminal and SSH into the remote machine. Add “-X” to the end of the command to use X forwarding. We can place the -X at the very end or just after “ssh”m the syntax is pretty loose in this case.

ssh -X [email protected]

X Forwarding

(Image credit: Tom's Hardware)

2. From the SSH session, run a command for a GUI application. In our example we launched Geany, a lightweight text editor. The app will take a few moments to open, but once ready we can work on files and directories as if we were sitting at the remote machine.

X Forwarding

(Image credit: Tom's Hardware)How to Use X Forwarding in macOS

Apple’s macOS shares lots of Unix / BSD tools, but in order to use X forwarding we need to install some extra software.

1. Download XQuartz.

2. Open the XQuartz DMG file in your Downloads folder.

X Forwarding

(Image credit: Tom's Hardware)

3. Double click on the XQuartz.pkg file to start the installer.

X Forwarding

(Image credit: Tom's Hardware)

4. Click Continue to move through the installation process.

X Forwarding

(Image credit: Tom's Hardware)

5. Click Continue and agree to the License.

X Forwarding

(Image credit: Tom's Hardware)

6. Set your install location and click Install, then Continue Installation. Note that you will be logged out of your session and all other applications will be closed.

X Forwarding

(Image credit: Tom's Hardware)

7. Reboot your mac and then log back in to macOS. This isn’t strictly necessary but it provides us with a fresh start, and an opportunity for backend configuration files to be correct.

8. Open a terminal and use the SSH command along with “-X” to connect to the remote machine. Note that you will need to use the IP address, we were unable to use the hostname of the device.

ssh -X username@ip address

X Forwarding

(Image credit: Tom's Hardware)

9. From the SSH session, run a command for a GUI application. In our example we launched Geany, a lightweight text editor. The app will take a few moments to open, but once ready we can work on files and directories as if we were sitting at the remote machine.

X Forwarding

(Image credit: Tom's Hardware)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有